package com.hlkj.pay.vo.admin.resp.permission;

import com.hlkj.pay.enums.AdminUserEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;
/**
 * @author HlpayTeam
 * @date 2024/09/06 9:36
 */
@Data
public class PermissionResp {
    private String permissionId;
    private List<PermissionButtonResp> actions = new ArrayList<>();
    private PermissionMetaResp meta = new PermissionMetaResp();
    private List<PermissionResp> children = new ArrayList<>();
    
    
    /**
     * 权限code
     */
    @Schema(description = "1 运营平台 2 代理 3 商户")
    private String code;
    
    /**
     * 权限名称
     */
    @Schema(description = "1 运营平台 2 代理 3 商户")
    private String name;
    /**
     * 图标
     */
    @Schema(description = "1 运营平台 2 代理 3 商户")
    private String imageUrl;
    
    /**
     * 权限名称
     */
    @Schema(description = "1 运营平台 2 代理 3 商户")
    private String parentCode;
    
    
    /**
     * 权限类型： 1 模块 2 菜单 3 按钮
     * @see AdminPermissionEnum.PERMISSION_TYPE
     */
    @Schema(description = "1 运营平台 2 代理 3 商户")
    private Integer type;
    
    
    /**
     * 路由名称
     */
    @Schema(description = "1 运营平台 2 代理 3 商户")
    private String routeName;
    /**
     * 路由地址
     */
    private String routeUrl;
    /**
     * 默认路由名称
     */
    private String defaultName;
    /**
     * 组件路径
     */
    private String componentPath;
    /**
     * 组件路径
     * @see AdminUserEnum.YES_NO_TYPE
     */
    private Integer status;
    /**
     * 是否跟路由
     * @see AdminUserEnum.YES_NO_TYPE
     */
    private Integer rootRoute;
    /**
     * 显示状态
     * @see AdminUserEnum.YES_NO_TYPE
     */
    private Integer showStatus;
    /**
     * 是否缓存
     * @see AdminUserEnum.YES_NO_TYPE
     */
    private Integer cache;
    /**
     * 外部地址
     */
    private String thirdUrl;
    
    /**
     * 接口请求对应的url
     */
    private String url;
    
    /**
     * 权限标识，对应按钮级别
     */
    private String tag;
    /**
     * 路由地址
     */
    private String href;
    
    @Schema(description = "1 运营平台 2 代理 3 商户")
    private Integer sysType;
    
}
